package belf.migrate.api.taskconf.typemapping;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 数值类型定义。不包含表名和字段名。
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataType {
    /** 数据类型名称 */
    private String typeName;
    /** 字符串长度，或者字节长度。具体是哪种，跟数据库参数设置相关。用于非数值、非时间数据类型的长度定义 */
    private int length;
    /** 数值的精度 */
    private int precision;
    /** 数值的标度 */
    private int scale;
    /** 时间的精度 */
    private int timePrecision;
    /** 是否允许为空。默认允许 */
    private boolean nullable = true;
    /** 默认的取值 */
    private String defaultValue;
}
